mw.loader.implement("ext.centralNotice.bannerController",function($,jQuery){(function($,mw){var rPlus=/\+/g;function decode(s){try{return decodeURIComponent(s.replace(rPlus,' '));}catch(e){return'';}}function synthesizeGeoCookie(){if(!window.Geo||!window.Geo.country){$.cookie('GeoIP','GeoIP=::::vx',{path:'/'});return;}var parts=[window.Geo.country,window.Geo.city.replace(/[^a-z]/i,'_'),window.Geo.lat,window.Geo.lon,(window.Geo.IP&&window.Geo.IP.match(':'))?'v6':'v4'];$.cookie('GeoIP',parts.join(':'),{path:'/'});}window.Geo=(function(match,country,city,lat,lon,af){return{country:country,city:city,lat:lat&&parseFloat(lat),lon:lon&&parseFloat(lon),af:af};}).apply(null,document.cookie.match(/(?:\bGeoIP=)([^:]*):([^:]*):([^:]*):([^:]*):([^;]*)/||[]));mw.centralNotice={data:{getVars:{},category:'default',bucket:null,testing:false},bannerData:{},events:{},alreadyRan:false,deferredObjs:{},loadBanner:function(){if(mw.centralNotice.data.getVars.banner){mw.centralNotice.loadTestingBanner(mw. centralNotice.data.getVars.banner,'none','testing');}else{mw.centralNotice.loadRandomBanner();}},loadTestingBanner:function(bannerName,campaign){var bannerPageQuery;mw.centralNotice.data.testing=true;bannerPageQuery={title:'Special:BannerLoader',banner:bannerName,campaign:campaign,uselang:mw.config.get('wgUserLanguage'),db:mw.config.get('wgDBname'),project:mw.config.get('wgNoticeProject'),country:mw.centralNotice.data.country,device:mw.centralNotice.data.device};$.ajax({url:mw.config.get('wgCentralPagePath')+'?'+$.param(bannerPageQuery),dataType:'script',cache:true});},loadRandomBanner:function(){var RAND_MAX=30;var bannerDispatchQuery={uselang:mw.config.get('wgUserLanguage'),sitename:mw.config.get('wgSiteName'),project:mw.config.get('wgNoticeProject'),anonymous:mw.config.get('wgUserName')===null,bucket:mw.centralNotice.data.bucket,country:mw.centralNotice.data.country,device:mw.centralNotice.data.device,slot:Math.floor(Math.random()*RAND_MAX)+1};var scriptUrl=mw.config.get( 'wgCentralBannerDispatcher')+'?'+$.param(bannerDispatchQuery);$.ajax({url:scriptUrl,dataType:'script',cache:true});},insertBanner:function(bannerJson){window.insertBanner(bannerJson);},toggleNotice:function(){window.toggleNotice();},hideBanner:function(){window.hideBanner();},recordImpression:function(data){var url=mw.config.get('wgCentralBannerRecorder')+'?'+$.param(data);(new Image()).src=url;},loadQueryStringVariables:function(){document.location.search.replace(/\??(?:([^=]+)=([^&]*)&?)/g,function(str,p1,p2){mw.centralNotice.data.getVars[decode(p1)]=decode(p2);});},getBucket:function(){var dataString=$.cookie('centralnotice_bucket')||'',bucket=dataString.split('-')[0],validity=dataString.split('-')[1],expValidity=mw.config.get('wgNoticeNumberOfBuckets')+'.'+mw.config.get('wgNoticeNumberOfControllerBuckets');if((bucket===null)||(validity!==expValidity)){bucket=Math.floor(Math.random()*mw.config.get('wgNoticeNumberOfControllerBuckets'));$.cookie('centralnotice_bucket',bucket+'-'+ expValidity,{expires:mw.config.get('wgNoticeBucketExpiry'),path:'/'});}return bucket;},initialize:function(){if(mw.centralNotice.alreadyRan){return;}mw.centralNotice.alreadyRan=true;mw.centralNotice.loadQueryStringVariables();mw.centralNotice.data.bucket=mw.centralNotice.getBucket();mw.centralNotice.data.country=mw.centralNotice.data.getVars.country||window.Geo.country||'XX';mw.centralNotice.data.addressFamily=(window.Geo.IPv6||window.Geo.af==='v6')?'IPv6':'IPv4';mw.centralNotice.isPreviewFrame=(mw.config.get('wgCanonicalSpecialPageName')==='BannerPreview');mw.centralNotice.data.device=mw.centralNotice.data.getVars.device||mw.config.get('wgMobileDeviceName','desktop');if(mw.config.get('wgNamespaceNumber')==-1&&!mw.centralNotice.isPreviewFrame){return;}mw.centralNotice.deferredObjs.bannerLoaded=$.Deferred();mw.centralNotice.events.bannerLoaded=mw.centralNotice.deferredObjs.bannerLoaded.promise();$('#siteNotice').prepend('
');if(mw.centralNotice.data.country ==='XX'){$.ajax({url:'//geoiplookup.wikimedia.org/',dataType:'script',cache:true}).always(function(){if(window.Geo&&window.Geo.country){mw.centralNotice.data.country=window.Geo.country;}else{mw.centralNotice.data.country='XX';}synthesizeGeoCookie();mw.centralNotice.loadBanner();});}else{mw.centralNotice.loadBanner();}}};window.insertBanner=function(bannerJson){var url,targets;var impressionData={country:mw.centralNotice.data.country,uselang:mw.config.get('wgUserLanguage'),project:mw.config.get('wgNoticeProject'),db:mw.config.get('wgDBname'),bucket:mw.centralNotice.data.bucket,anonymous:mw.config.get('wgUserName')===null,device:mw.centralNotice.data.device};var impressionResultData=null;if(!bannerJson){impressionResultData={result:'hide',reason:'empty'};}else{mw.centralNotice.data.category=encodeURIComponent(bannerJson.category);if(typeof mw.centralNotice.bannerData.preload==='function'&&!mw.centralNotice.bannerData.preload()){impressionResultData={result:'hide',reason:'preload'};}else if(mw.centralNotice.data.testing===false&&($.cookie('centralnotice_hide_'+mw.centralNotice.data.category)==='hide'||$.cookie('centralnotice_'+mw.centralNotice.data.category)==='hide')){impressionResultData={result:'hide',reason:'cookie'};}else{mw.centralNotice.bannerData.bannerName=bannerJson.bannerName;$('div#centralNotice').attr('class',mw.html.escape('cn-'+mw.centralNotice.data.category)).prepend(bannerJson.bannerHtml);if(bannerJson.autolink){url=mw.config.get('wgNoticeFundraisingUrl');if((bannerJson.landingPages!==null)&&bannerJson.landingPages.length){targets=String(bannerJson.landingPages).split(',');if($.inArray(mw.centralNotice.data.country,mw.config.get('wgNoticeXXCountries'))!==-1){mw.centralNotice.data.country='XX';}url+="?"+$.param({landing_page:targets[Math.floor(Math.random()*targets.length)].replace(/^\s+|\s+$/,''),utm_medium:'sitenotice',utm_campaign:bannerJson.campaign,utm_source:bannerJson.bannerName,language:mw.config.get('wgUserLanguage'),country:mw.centralNotice. data.country});$('#cn-landingpage-link').attr('href',url);}}var bannerShown=true;if(typeof mw.centralNotice.bannerData.alterImpressionData==='function'){bannerShown=mw.centralNotice.bannerData.alterImpressionData(impressionData);}if(bannerShown){impressionResultData={banner:bannerJson.bannerName,campaign:bannerJson.campaign,result:'show'};}else{impressionResultData={result:'hide'};}}}impressionResultData=$.extend(impressionResultData,impressionData);if(!mw.centralNotice.data.testing){mw.centralNotice.recordImpression(impressionResultData);}mw.centralNotice.deferredObjs.bannerLoaded.resolve(impressionResultData);};window.hideBanner=function(){var d=new Date(),expiry=mw.config.get('wgNoticeCookieShortExpiry');$('#centralNotice').hide();d.setSeconds(d.getSeconds()+expiry);$.cookie('centralnotice_hide_'+mw.centralNotice.data.category,'hide',{expires:d,path:'/'});$.each(mw.config.get('wgNoticeHideUrls'),function(idx,value){(new Image()).src=value+'?'+$.param({'duration':expiry,'category':mw .centralNotice.data.category});});};window.toggleNotice=function(){window.hideBanner();};$(function(){mw.centralNotice.initialize();});})(jQuery,mediaWiki);},{"css":["@media print{#centralNotice{display:none}}\n/* cache key: enwiki:resourceloader:filter:minify-css:7:ddb0c98a055632ae8e349c9cf48ac703 */"]},{});mw.loader.implement("ext.centralauth.centralautologin",function($,jQuery){(function(mw){if(mw.config.get('wgUserName')!==null){return;}if(mw.config.get('wgCanonicalSpecialPageName')!=='Userlogin'){if('localStorage'in window&&window.localStorage&&+localStorage.getItem('CentralAuthAnon')>new Date().getTime()){return;}if(/(^|; )CentralAuthAnon=1/.test(document.cookie)){return;}}var url,params,len,param,i;url=mw.config.get('wgCentralAuthCheckLoggedInURL');if(url){url+='&proto='+encodeURIComponent(location.protocol.replace(':',''));if(mw.config.get('wgCanonicalSpecialPageName')==='Userlogin'){url+='&return=1';params=location.search.slice(1).split('&');len=params.length;for(i=0;i').css({fontSize:'72px',fontFamily:'sans-serif'}).appendTo('body');for(index=0;index0&&(width[index]!==width[index-1]||height[index]!==height[index-1])){detected=false;break;}}$fixture.remove();if(index===length){detected=true;}return detected;}mw.webfonts.setup=function(){var mediawikiFontRepository=$.webfonts.repository;mediawikiFontRepository.base=mw.config.get('wgULSFontRepositoryBasePath');$.extend($.fn.webfonts.defaults,{repository:mediawikiFontRepository, fontStack:$('body').css('font-family').split(/, /g),exclude:mw.config.get('wgULSNoWebfontsSelectors').join(', ')});$.fn.webfonts.defaults=$.extend($.fn.webfonts.defaults,{fontSelector:function(repository,language,classes){var font,autonym,defaultFont;if(!language){return null;}defaultFont=repository.defaultFont(language);if(classes&&$.inArray('autonym',classes)>=0){autonym=true;}font=mw.webfonts.preferences.getFont(language);if(!font||autonym){if((!defaultFont||defaultFont==='system')&&!autonym){return font;}if(tofuLanguages[language]===undefined){tofuLanguages[language]=detectTofu($.uls.data.getAutonym(language));if(tofuLanguages[language]){mw.log('tofu detected for '+language);mw.hook('mw.uls.webfonts.tofudetected').fire(language);}}if(tofuLanguages[language]){font=autonym?'Autonym':defaultFont;}else{font='system';}}if(font==='system'){font=null;}return font;},exclude:(function(){var excludes=$.fn.webfonts.defaults.exclude;if(mw.user.options.get('editfont')!=='default'){excludes=( excludes)?excludes+',textarea':'textarea';}return excludes;}()),overridableFontFamilies:[$('h1').css('font-family')]});setTimeout(function(){$('body').webfonts();$('body').data('webfonts').load('Autonym');},0);};$(document).ready(function(){mw.uls.init(function(){var tofuStartTime,tofuEndTime,tofuTime;mw.webfonts.preferences.load();if(mw.webfonts.preferences.isEnabled()){mw.loader.using('ext.uls.webfonts.fonts',mw.webfonts.setup);}if(!mw.config.get('wgULSEventLogging')||mw.config.get('wgULSTofuLoggingChance')maxTime){mw.log('tofu detection max time reached. last lang: '+lang);break;}}tofuEndTime=(new Date()).getTime();tofuTime=(tofuEndTime-tofuStartTime)/1000;mw.log('tofu detection took '+tofuTime+' seconds');},1000);});});}(jQuery,mediaWiki));},{},{});mw.loader.implement("jquery.accessKeyLabel",function($,jQuery){(function($){var cachedAccessKeyPrefix,useTestPrefix=false,labelable='button, input, textarea, keygen, meter, output, progress, select';function getAccessKeyPrefix(ua){if(!ua&&cachedAccessKeyPrefix){return cachedAccessKeyPrefix;}var profile=$.client.profile(ua),accessKeyPrefix='alt-';if(profile.name==='opera'){accessKeyPrefix='shift-esc-';}else if(profile.name==='chrome'){accessKeyPrefix=(profile.platform==='mac'?'ctrl-option-':'alt-shift-');}else if(profile.platform!=='win'&&profile.name==='safari'&&profile.layoutVersion>526) {accessKeyPrefix='ctrl-alt-';}else if(!(profile.platform==='win'&&profile.name==='safari')&&(profile.name==='safari'||profile.platform==='mac'||profile.name==='konqueror')){accessKeyPrefix='ctrl-';}else if((profile.name==='firefox'||profile.name==='iceweasel')&&profile.versionBase>'1'){accessKeyPrefix='alt-shift-';}if(!ua){cachedAccessKeyPrefix=accessKeyPrefix;}return accessKeyPrefix;}function getAccessKeyLabel(element){if(!element.accessKey){return'';}if(!useTestPrefix&&element.accessKeyLabel){return element.accessKeyLabel;}return(useTestPrefix?'test-':getAccessKeyPrefix())+element.accessKey;}function updateTooltipOnElement(element,titleElement){var oldTitle=titleElement.title,rawTitle=oldTitle.replace(/ \[.*?\]$/,''),newTitle=rawTitle,accessKeyLabel=getAccessKeyLabel(element);if(!oldTitle){return;}if(accessKeyLabel){newTitle+=' ['+accessKeyLabel+']';}if(oldTitle!==newTitle){titleElement.title=newTitle;}}function updateTooltip(element){var id,$element,$label,$labelParent; updateTooltipOnElement(element,element);$element=$(element);if($element.is(labelable)){id=element.id.replace(/"/g,'\\"');if(id){$label=$('label[for="'+id+'"]');if($label.length===1){updateTooltipOnElement(element,$label[0]);}}$labelParent=$element.parents('label');if($labelParent.length===1){updateTooltipOnElement(element,$labelParent[0]);}}}$.fn.updateTooltipAccessKeys=function(){return this.each(function(){updateTooltip(this);});};$.fn.updateTooltipAccessKeys.getAccessKeyPrefix=getAccessKeyPrefix;$.fn.updateTooltipAccessKeys.setTestMode=function(mode){useTestPrefix=mode;};}(jQuery));},{},{});mw.loader.implement("jquery.client",function($,jQuery){(function($){var profileCache={};$.client={profile:function(nav){if(nav===undefined){nav=window.navigator;}if(profileCache[nav.userAgent+'|'+nav.platform]!==undefined){return profileCache[nav.userAgent+'|'+nav.platform];}var versionNumber,key=nav.userAgent+'|'+nav.platform,uk='unknown',x='x',wildUserAgents=['Opera','Navigator','Minefield', 'KHTML','Chrome','PLAYSTATION 3','Iceweasel'],userAgentTranslations=[[/(Firefox|MSIE|KHTML,?\slike\sGecko|Konqueror)/,''],['Chrome Safari','Chrome'],['KHTML','Konqueror'],['Minefield','Firefox'],['Navigator','Netscape'],['PLAYSTATION 3','PS3']],versionPrefixes=['camino','chrome','firefox','iceweasel','netscape','netscape6','opera','version','konqueror','lynx','msie','safari','ps3','android'],versionSuffix='(\\/|\\;?\\s|)([a-z0-9\\.\\+]*?)(\\;|dev|rel|\\)|\\s|$)',names=['camino','chrome','firefox','iceweasel','netscape','konqueror','lynx','msie','opera','safari','ipod','iphone','blackberry','ps3','rekonq','android'],nameTranslations=[],layouts=['gecko','konqueror','msie','trident','opera','webkit'],layoutTranslations=[['konqueror','khtml'],['msie','trident'],['opera','presto']],layoutVersions=['applewebkit','gecko','trident'],platforms=['win','wow64','mac','linux','sunos','solaris','iphone'],platformTranslations=[['sunos','solaris'],['wow64','win']],translate=function(source, translations){var i;for(i=0;i400){version='2.0';}if(name==='opera'&&version>=9.8){match=ua.match(/\bversion\/([0-9\.]*)/ );if(match&&match[1]){version=match[1];}else{version='10';}}if(name==='chrome'&&(match=ua.match(/\bopr\/([0-9\.]*)/))){if(match[1]){name='opera';version=match[1];}}if(layout==='trident'&&layoutversion>=7&&(match=ua.match(/\brv[ :\/]([0-9\.]*)/))){if(match[1]){name='msie';version=match[1];}}if(match=ua.match(/\bsilk\/([0-9.\-_]*)/)){if(match[1]){name='silk';version=match[1];}}versionNumber=parseFloat(version,10)||0.0;return profileCache[key]={name:name,layout:layout,layoutVersion:layoutversion,platform:platform,version:version,versionBase:(version!==x?Math.floor(versionNumber).toString():x),versionNumber:versionNumber};},test:function(map,profile,exactMatchOnly){var conditions,dir,i,op,val,j,pieceVersion,pieceVal,compare;profile=$.isPlainObject(profile)?profile:$.client.profile();if(map.ltr&&map.rtl){dir=$('body').is('.rtl')?'rtl':'ltr';map=map[dir];}if(typeof map!=='object'||map[profile.name]===undefined){return!exactMatchOnly;}conditions=map[profile.name];if(conditions===false){return false ;}if(conditions===null){return true;}for(i=0;iNumber(pieceVal[j])){compare=1;break;}}if(!(eval(''+compare+op+'0'))){return false;}}else if(typeof val==='number'){if(!(eval('profile.versionNumber'+op+val))){return false;}}}return true;}};}(jQuery));},{},{});mw.loader.implement("jquery.cookie",function($,jQuery){(function($){$.cookie=function(key,value,options){if(arguments.length>1&&(!/Object/.test(Object.prototype.toString.call(value))||value===null||value===undefined)){options=$.extend({},options);if(value===null||value===undefined){options.expires=-1;} if(typeof options.expires==='number'){var days=options.expires,t=options.expires=new Date();t.setDate(t.getDate()+days);}value=String(value);return(document.cookie=[encodeURIComponent(key),'=',options.raw?value:encodeURIComponent(value),options.expires?'; expires='+options.expires.toUTCString():'',options.path?'; path='+options.path:'',options.domain?'; domain='+options.domain:'',options.secure?'; secure':''].join(''));}options=value||{};var decode=options.raw?function(s){return s;}:decodeURIComponent;var pairs=document.cookie.split('; ');for(var i=0,pair;pair=pairs[i]&&pairs[i].split('=');i++){if(decode(pair[0])===key)return decode(pair[1]||'');}return null;};})(jQuery);},{},{});mw.loader.implement("jquery.json",function($,jQuery){(function($){'use strict';var escape=/["\\\x00-\x1f\x7f-\x9f]/g,meta={'\b':'\\b','\t':'\\t','\n':'\\n','\f':'\\f','\r':'\\r','"':'\\"','\\':'\\\\'},hasOwn=Object.prototype.hasOwnProperty;$.toJSON=typeof JSON==='object'&&JSON.stringify?JSON.stringify:function (o){if(o===null){return'null';}var pairs,k,name,val,type=$.type(o);if(type==='undefined'){return undefined;}if(type==='number'||type==='boolean'){return String(o);}if(type==='string'){return $.quoteString(o);}if(typeof o.toJSON==='function'){return $.toJSON(o.toJSON());}if(type==='date'){var month=o.getUTCMonth()+1,day=o.getUTCDate(),year=o.getUTCFullYear(),hours=o.getUTCHours(),minutes=o.getUTCMinutes(),seconds=o.getUTCSeconds(),milli=o.getUTCMilliseconds();if(month<10){month='0'+month;}if(day<10){day='0'+day;}if(hours<10){hours='0'+hours;}if(minutes<10){minutes='0'+minutes;}if(seconds<10){seconds='0'+seconds;}if(milli<100){milli='0'+milli;}if(milli<10){milli='0'+milli;}return'"'+year+'-'+month+'-'+day+'T'+hours+':'+minutes+':'+seconds+'.'+milli+'Z"';}pairs=[];if($.isArray(o)){for(k=0;k').html('
');}return this.$tip;},validate:function(){if(!this.$element[0].parentNode){this.hide();this.$element=null;this.options=null;}},enable:function(){this.enabled=true;},disable:function(){this.enabled=false;},toggleEnabled:function(){this.enabled=!this.enabled;}};$.fn.tipsy=function(options){if(options===true){return this.data('tipsy');}else if(typeof options=='string'){return this.data('tipsy')[options]();}options=$.extend({},$.fn.tipsy.defaults,options);function get(ele){var tipsy=$.data(ele,'tipsy');if(!tipsy){tipsy=new Tipsy(ele,$.fn.tipsy.elementOptions(ele,options));$.data(ele,'tipsy',tipsy);}return tipsy;}function enter(){var tipsy=get(this);tipsy.hoverState='in';if(options.delayIn==0){tipsy.show();}else{ setTimeout(function(){if(tipsy.hoverState=='in')tipsy.show();},options.delayIn);}};function leave(){var tipsy=get(this);tipsy.hoverState='out';if(options.delayOut==0){tipsy.hide();}else{setTimeout(function(){if(tipsy.hoverState=='out')tipsy.hide();},options.delayOut);}};if(!options.live)this.each(function(){get(this);});if(options.trigger!='manual'){var binder=options.live?'live':'bind',eventIn=options.trigger=='hover'?'mouseenter':'focus',eventOut=options.trigger=='hover'?'mouseleave':'blur';this[binder](eventIn,enter)[binder](eventOut,leave);}return this;};$.fn.tipsy.defaults={className:null,delayIn:0,delayOut:0,fade:true,fallback:'',gravity:'n',center:true,html:false,live:false,offset:0,opacity:1.0,title:'title',trigger:'hover'};$.fn.tipsy.elementOptions=function(ele,options){return $.metadata?$.extend({},options,$(ele).metadata()):options;};$.fn.tipsy.autoNS=function(){return $(this).offset().top>($(document).scrollTop()+$(window).height()/2)?'s':'n';};$.fn.tipsy.autoWE=function(){ return $(this).offset().left>($(document).scrollLeft()+$(window).width()/2)?'e':'w';};})(jQuery);},{"css":[ ".tipsy{padding:5px;position:absolute;z-index:100000;cursor:default}.tipsy-inner{padding:5px 8px 4px 8px; background-color:#ffffff;border:solid 1px #a7d7f9;color:black;max-width:15em;border-radius:4px; }.tipsy-arrow{position:absolute;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAsAAAALAgMAAADUwp+1AAAACVBMVEX5+fmn1/n///9s6BFKAAAAAXRSTlMAQObYZgAAACpJREFUCB1jZBD4wMiQMoeRcUU4I9uSaYxSE54xZjn8AtMgPkgcJA9UBwAeDw1Qrb3pVAAAAABJRU5ErkJggg==) no-repeat top left;background:url(//bits.wikimedia.org/static-1.24wmf3/resources/src/jquery.tipsy/images/tipsy.png?2014-05-01T15:35:00Z) no-repeat top left!ie;width:11px;height:6px} .tipsy-n .tipsy-arrow{top:0px;left:50%;margin-left:-5px} .tipsy-nw .tipsy-arrow{top:1px;left:10px} .tipsy-ne .tipsy-arrow{top:1px;right:10px} .tipsy-s .tipsy-arrow{bottom:0px;left:50%;margin-left:-5px;background-position:bottom left} .tipsy-sw .tipsy-arrow{bottom:0px;left:10px;background-position:bottom left} .tipsy-se .tipsy-arrow{bottom:0px;right:10px;background-position:bottom left} .tipsy-e .tipsy-arrow{top:50%;margin-top:-5px;right:1px;width:5px;height:11px;background-position:top right} .tipsy-w .tipsy-arrow{top:50%;margin-top:-5px;left:0px;width:6px;height:11px}\n/* cache key: enwiki:resourceloader:filter:minify-css:7:2de00bcfd8434389ed6c1cb6824ce602 */" ]},{});mw.loader.implement("mediawiki.Uri",function($,jQuery){(function(mw,$){function cat(pre,val,post,raw){if(val===undefined||val===null||val===''){return'';}return pre+(raw?val:mw.Uri.encode(val))+post;}var parser={strict:/^(?:([^:\/?#]+):)?(?:\/\/(?:(?:([^:@\/?#]*)(?::([^:@\/?#]*))?)?@)?([^:\/?#]*)(?::(\d*))?)?((?:[^?#\/]*\/)*[^?#]*)(?:\?([^#]*))?(?:#(.*))?/,loose:/^(?:(?![^:@]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/)?(?:(?:([^:@\/?#]*)(?::([^:@\/?#]*))?)?@)?([^:\/?#]*)(?::(\d*))?((?:\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?[^?#\/]*)(?:\?([^#]*))?(?:#(.*))?/},properties=['protocol','user','password','host','port','path','query','fragment'];mw.UriRelative=function(documentLocation){var defaultUri;function Uri(uri,options){options=typeof options==='object'?options:{strictMode:!!options};options=$.extend({strictMode:false,overrideKeys:false},options);if(uri!==undefined&&uri!==null&&uri!==''){if(typeof uri==='string'){this.parse(uri,options);}else if(typeof uri==='object'){for(var prop in uri){if(uri.hasOwnProperty(prop)){if($.isArray(uri[prop])||$.isPlainObject(uri[prop])){this[prop]=$.extend(true,{},uri[prop]);}else{this[prop]=uri[prop];}}}if(!this.query){this.query={};}}}else{return defaultUri.clone();}if(!this.protocol){this.protocol=defaultUri.protocol;}if(!this.host){this.host=defaultUri.host;if(!this.port){this.port=defaultUri.port;}}if(this.path&&this.path.charAt(0)!=='/'){throw new Error('Bad constructor arguments');}if(!(this.protocol&&this.host&&this.path)){throw new Error('Bad constructor arguments');}}Uri.encode=function(s){return encodeURIComponent(s).replace(/!/g,'%21').replace(/'/g,'%27').replace(/\(/g,'%28').replace(/\)/g,'%29').replace(/\*/g,'%2A').replace(/%20/g,'+');};Uri.decode=function(s){return decodeURIComponent(s.replace(/\+/g,'%20'));};Uri.prototype={parse:function(str,options){var q,matches,uri=this;matches=parser[options.strictMode?'strict':'loose'].exec(str);$.each(properties,function(i,property){uri[property]=matches[i+1];});q={};if (uri.query){uri.query.replace(/(?:^|&)([^&=]*)(?:(=)([^&]*))?/g,function($0,$1,$2,$3){var k,v;if($1){k=Uri.decode($1);v=($2===''||$2===undefined)?null:Uri.decode($3);if(options.overrideKeys||q[k]===undefined){q[k]=v;}else{if(typeof q[k]==='string'){q[k]=[q[k]];}if($.isArray(q[k])){q[k].push(v);}}}});}uri.query=q;},getUserInfo:function(){return cat('',this.user,cat(':',this.password,''));},getHostPort:function(){return this.host+cat(':',this.port,'');},getAuthority:function(){return cat('',this.getUserInfo(),'@')+this.getHostPort();},getQueryString:function(){var args=[];$.each(this.query,function(key,val){var k=Uri.encode(key),vals=$.isArray(val)?val:[val];$.each(vals,function(i,v){if(v===null){args.push(k);}else if(k==='title'){args.push(k+'='+mw.util.wikiUrlencode(v));}else{args.push(k+'='+Uri.encode(v));}});});return args.join('&');},getRelativePath:function(){return this.path+cat('?',this.getQueryString(),'',true)+cat('#',this.fragment,'');},toString:function(){return this.protocol +'://'+this.getAuthority()+this.getRelativePath();},clone:function(){return new Uri(this);},extend:function(parameters){$.extend(this.query,parameters);return this;}};defaultUri=new Uri(documentLocation);return Uri;};if(document&&document.location&&document.location.href){mw.Uri=mw.UriRelative(document.location.href);}}(mediaWiki,jQuery));},{},{});mw.loader.implement("mediawiki.api",function($,jQuery){(function(mw,$){var defaultOptions={parameters:{action:'query',format:'json'},ajax:{url:mw.util.wikiScript('api'),timeout:30*1000,dataType:'json'}},deferreds={};deferreds[defaultOptions.ajax.url]={};$.each(mw.user.tokens.get(),function(key,value){deferreds[defaultOptions.ajax.url][key]=$.Deferred().resolve(value).promise({abort:function(){}});});mw.Api=function(options){if(options===undefined){options={};}if(options.ajax&&options.ajax.url!==undefined){options.ajax.url=String(options.ajax.url);}options.parameters=$.extend({},defaultOptions.parameters,options.parameters);options.ajax=$. extend({},defaultOptions.ajax,options.ajax);this.defaults=options;};mw.Api.prototype={normalizeAjaxOptions:function(arg){var opts=arg||{};if(typeof arg==='function'){opts={ok:arg};}return opts;},get:function(parameters,ajaxOptions){ajaxOptions=this.normalizeAjaxOptions(ajaxOptions);ajaxOptions.type='GET';return this.ajax(parameters,ajaxOptions);},post:function(parameters,ajaxOptions){ajaxOptions=this.normalizeAjaxOptions(ajaxOptions);ajaxOptions.type='POST';return this.ajax(parameters,ajaxOptions);},ajax:function(parameters,ajaxOptions){var token,apiDeferred=$.Deferred(),msg='Use of mediawiki.api callback params is deprecated. Use the Promise instead.',xhr,key,formData;parameters=$.extend({},this.defaults.parameters,parameters);ajaxOptions=$.extend({},this.defaults.ajax,ajaxOptions);if(parameters.token){token=parameters.token;delete parameters.token;}if(ajaxOptions.type==='POST'&&window.FormData&&ajaxOptions.contentType==='multipart/form-data'){formData=new FormData();for(key in parameters){formData.append(key,parameters[key]);}if(token){formData.append('token',token);}ajaxOptions.data=formData;ajaxOptions.processData=false;ajaxOptions.contentType=false;}else{ajaxOptions.data=$.param(parameters).replace(/\./g,'%2E');if(token){ajaxOptions.data+='&token='+encodeURIComponent(token);}if(ajaxOptions.contentType==='multipart/form-data'){delete ajaxOptions.contentType;}}if(ajaxOptions.ok){mw.track('mw.deprecate','api.cbParam');mw.log.warn(msg);apiDeferred.done(ajaxOptions.ok);delete ajaxOptions.ok;}if(ajaxOptions.err){mw.track('mw.deprecate','api.cbParam');mw.log.warn(msg);apiDeferred.fail(ajaxOptions.err);delete ajaxOptions.err;}xhr=$.ajax(ajaxOptions).fail(function(xhr,textStatus,exception){apiDeferred.reject('http',{xhr:xhr,textStatus:textStatus,exception:exception});}).done(function(result,textStatus,jqXHR){if(result===undefined||result===null||result===''){apiDeferred.reject('ok-but-empty','OK response but empty result (check HTTP headers?)');}else if(result. error){var code=result.error.code===undefined?'unknown':result.error.code;apiDeferred.reject(code,result);}else{apiDeferred.resolve(result,jqXHR);}});return apiDeferred.promise({abort:xhr.abort}).fail(function(code,details){mw.log('mw.Api error: ',code,details);});},postWithToken:function(tokenType,params){var api=this;return api.getToken(tokenType).then(function(token){params.token=token;return api.post(params).then(null,function(code){if(code==='badtoken'){deferreds[this.defaults.ajax.url][tokenType+'Token']=params.token=undefined;return api.getToken(tokenType).then(function(token){params.token=token;return api.post(params);});}return this;});});},getToken:function(type){var apiPromise,deferredGroup=deferreds[this.defaults.ajax.url],d=deferredGroup&&deferredGroup[type+'Token'];if(!d){d=$.Deferred();apiPromise=this.get({action:'tokens',type:type}).done(function(data){if(data.tokens&&data.tokens[type+'token']){d.resolve(data.tokens[type+'token']);}else{d.reject('token-missing',data);}} ).fail(d.reject);d.abort=apiPromise.abort;if(!deferredGroup){deferredGroup=deferreds[this.defaults.ajax.url]={};}deferredGroup[type+'Token']=d;}return d.promise({abort:d.abort});}};mw.Api.errors=['ok-but-empty','timeout','duplicate','duplicate-archive','noimageinfo','uploaddisabled','nomodule','mustbeposted','badaccess-groups','stashfailed','missingresult','missingparam','invalid-file-key','copyuploaddisabled','mustbeloggedin','empty-file','file-too-large','filetype-missing','filetype-banned','filetype-banned-type','filename-tooshort','illegal-filename','verification-error','hookaborted','unknown-error','internal-error','overwrite','badtoken','fetchfileerror','fileexists-shared-forbidden','invalidtitle','notloggedin'];mw.Api.warnings=['duplicate','exists'];}(mediaWiki,jQuery));},{},{});mw.loader.implement("mediawiki.cldr",function($,jQuery){(function(mw){'use strict';mw.cldr={getPluralForm:function(number,pluralRules){var i;for(i=0;i2&&cookie.indexOf(':')!==-1){parts=cookie.split(':'); if(parts.length>1&&Number(parts[0])===options.version){version=Number(parts[0]);bucket=String(parts[1]);}}if(bucket===undefined){if(!$.isPlainObject(options.buckets)){throw new Error('Invalid bucket. Object expected for options.buckets.');}version=Number(options.version);range=0;for(k in options.buckets){range+=options.buckets[k];}rand=Math.random()*range;total=0;for(k in options.buckets){bucket=k;total+=options.buckets[k];if(total>=rand){break;}}$.cookie('mediaWiki.user.bucket:'+key,version+':'+bucket,{path:'/',expires:Number(options.expires)});}return bucket;},getGroups:function(callback){return getUserInfo('groups',callback);},getRights:function(callback){return getUserInfo('rights',callback);}};}(mediaWiki,jQuery));},{},{});mw.loader.implement("mediawiki.util",function($,jQuery){(function(mw,$){'use strict';var util={init:function(){util.$content=(function(){var i,l,$content,selectors;selectors=['.mw-body-primary','.mw-body','#bodyContent','#mw_contentholder','#article','#content', '#mw-content-text','body'];for(i=0,l=selectors.length;i').attr('href',href).text(text);if(tooltip){$link.attr('title',tooltip);}$portlet=$('#'+portlet);if($portlet.length===0){return null;}$ul=$portlet.find('ul').eq(0);if($ul.length===0){$ul=$('
    ');if($portlet.find( 'div:first').length===0){$portlet.append($ul);}else{$portlet.find('div').eq(-1).append($ul);}}if($ul.length===0){return null;}$portlet.removeClass('emptyPortlet');if($portlet.hasClass('vectorTabs')){$item=$link.wrap('
  • ').parent().parent();}else{$item=$link.wrap('
  • ').parent();}if(id){$item.attr('id',id);}if(accesskey){$link.attr('accesskey',accesskey);}if(tooltip){$link.attr('title',tooltip).updateTooltipAccessKeys();}if(nextnode){if(nextnode.nodeType||typeof nextnode==='string'){nextnode=$ul.find(nextnode);}else if(!nextnode.jquery||(nextnode.length&&nextnode[0].parentNode!==$ul[0])){$ul.append($item);return $item[0];}if(nextnode.length===1){nextnode.before($item);return $item[0];}}$ul.append($item);return $item[0];},validateEmail:function(mailtxt){var rfc5322Atext,rfc1034LdhStr,html5EmailRegexp;if(mailtxt===''){return null;}rfc5322Atext='a-z0-9!#$%&\'*+\\-/=?^_`{|}~';rfc1034LdhStr='a-z0-9\\-';html5EmailRegexp=new RegExp('^'+'['+rfc5322Atext+'\\.]+'+'@'+'[' +rfc1034LdhStr+']+'+'(?:\\.['+rfc1034LdhStr+']+)*'+'$','i');return(null!==mailtxt.match(html5EmailRegexp));},isIPv4Address:function(address,allowBlock){if(typeof address!=='string'){return false;}var block=allowBlock?'(?:\\/(?:3[0-2]|[12]?\\d))?':'',RE_IP_BYTE='(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|0?[0-9]?[0-9])',RE_IP_ADD='(?:'+RE_IP_BYTE+'\\.){3}'+RE_IP_BYTE;return address.search(new RegExp('^'+RE_IP_ADD+block+'$'))!==-1;},isIPv6Address:function(address,allowBlock){if(typeof address!=='string'){return false;}var block=allowBlock?'(?:\\/(?:12[0-8]|1[01][0-9]|[1-9]?\\d))?':'',RE_IPV6_ADD='(?:'+':(?::|(?::'+'[0-9A-Fa-f]{1,4}'+'){1,7})'+'|'+'[0-9A-Fa-f]{1,4}'+'(?::'+'[0-9A-Fa-f]{1,4}'+'){0,6}::'+'|'+'[0-9A-Fa-f]{1,4}'+'(?::'+'[0-9A-Fa-f]{1,4}'+'){7}'+')';if(address.search(new RegExp('^'+RE_IPV6_ADD+block+'$'))!==-1){return true;}RE_IPV6_ADD='[0-9A-Fa-f]{1,4}'+'(?:::?'+'[0-9A-Fa-f]{1,4}'+'){1,6}';return address.search(new RegExp('^'+RE_IPV6_ADD+block+'$'))!==-1&&address.search(/::/)!==-1&& address.search(/::.*::/)===-1;}};mw.log.deprecate(util,'wikiGetlink',util.getUrl,'Use mw.util.getUrl instead.');mw.log.deprecate(util,'tooltipAccessKeyPrefix',$.fn.updateTooltipAccessKeys.getAccessKeyPrefix(),'Use jquery.accessKeyLabel instead.');mw.log.deprecate(util,'tooltipAccessKeyRegexp',/\[(ctrl-)?(option-)?(alt-)?(shift-)?(esc-)?(.)\]$/,'Use jquery.accessKeyLabel instead.');mw.log.deprecate(util,'jsMessage',function(message){if(!arguments.length||message===''||message===null){return true;}if(typeof message!=='object'){message=$.parseHTML(message);}mw.notify(message,{autoHide:true,tag:'legacy'});return true;},'Use mw.notify instead.');mw.util=util;}(mediaWiki,jQuery));},{},{});mw.loader.implement("mediawiki.language.data",function($,jQuery){mw.language.setData("en",{"digitTransformTable":null,"separatorTransformTable":null,"grammarForms":[],"pluralRules":["i = 1 and v = 0 @integer 1"],"digitGroupingPattern":null});},{},{});mw.loader.implement("mediawiki.language.init",function($, jQuery){(function(mw){mw.language={data:{},getData:function(langCode,dataKey){var langData=mw.language.data;if(langData&&langData[langCode]instanceof mw.Map){return langData[langCode].get(dataKey);}return undefined;},setData:function(langCode,dataKey,value){var langData=mw.language.data;if(!(langData[langCode]instanceof mw.Map)){langData[langCode]=new mw.Map();}langData[langCode].set(dataKey,value);}};}(mediaWiki));},{},{});mw.loader.implement("mediawiki.legacy.ajax",function($,jQuery){(function(mw){function debug(text){if(!window.sajax_debug_mode){return false;}var e=document.getElementById('sajax_debug');if(!e){e=document.createElement('p');e.className='sajax_debug';e.id='sajax_debug';var b=document.getElementsByTagName('body')[0];if(b.firstChild){b.insertBefore(e,b.firstChild);}else{b.appendChild(e);}}var m=document.createElement('div');m.appendChild(document.createTextNode(text));e.appendChild(m);return true;}function createXhr(){debug('sajax_init_object() called..');var a;try{a= new XMLHttpRequest();}catch(xhrE){try{a=new window.ActiveXObject('Msxml2.XMLHTTP');}catch(msXmlE){try{a=new window.ActiveXObject('Microsoft.XMLHTTP');}catch(msXhrE){a=null;}}}if(!a){debug('Could not create connection object.');}return a;}function doAjaxRequest(func_name,args,target){var i,x,uri,post_data;uri=mw.util.wikiScript()+'?action=ajax';if(window.sajax_request_type==='GET'){if(uri.indexOf('?')===-1){uri=uri+'?rs='+encodeURIComponent(func_name);}else{uri=uri+'&rs='+encodeURIComponent(func_name);}for(i=0;iError: '+x.status+' '+x.statusText+' ('+x.responseText+')';}}}else{alert('Bad target for sajax_do_call: not a function or object: '+target);}};debug(func_name+' uri = '+uri+' / post = '+post_data);x.send(post_data);debug(func_name+' waiting..' );return true;}function wfSupportsAjax(){var request=createXhr(),supportsAjax=request?true:false;request=undefined;return supportsAjax;}var deprecationNotice='Sajax is deprecated, use jQuery.ajax or mediawiki.api instead.';mw.log.deprecate(window,'sajax_debug_mode',false,deprecationNotice);mw.log.deprecate(window,'sajax_request_type','GET',deprecationNotice);mw.log.deprecate(window,'sajax_debug',debug,deprecationNotice);mw.log.deprecate(window,'sajax_init_object',createXhr,deprecationNotice);mw.log.deprecate(window,'sajax_do_call',doAjaxRequest,deprecationNotice);mw.log.deprecate(window,'wfSupportsAjax',wfSupportsAjax,deprecationNotice);}(mediaWiki));},{},{});mw.loader.implement("mediawiki.legacy.wikibits",function($,jQuery){(function(mw,$){var msg,win=window,ua=navigator.userAgent.toLowerCase(),isIE6=(/msie ([0-9]{1,}[\.0-9]{0,})/.exec(ua)&&parseFloat(RegExp.$1)<=6.0),onloadFuncts=[];if(mw.config.get('wgBreakFrames')){if(win.top!==win.self){win.top.location=win.location;}}msg= 'Use feature detection or module jquery.client instead.';mw.log.deprecate(win,'clientPC',ua,msg);mw.log.deprecate(win,'is_gecko',false,msg);mw.log.deprecate(win,'is_chrome_mac',false,msg);mw.log.deprecate(win,'is_chrome',false,msg);mw.log.deprecate(win,'webkit_version',false,msg);mw.log.deprecate(win,'is_safari_win',false,msg);mw.log.deprecate(win,'is_safari',false,msg);mw.log.deprecate(win,'webkit_match',false,msg);mw.log.deprecate(win,'is_ff2',false,msg);mw.log.deprecate(win,'ff2_bugs',false,msg);mw.log.deprecate(win,'is_ff2_win',false,msg);mw.log.deprecate(win,'is_ff2_x11',false,msg);mw.log.deprecate(win,'opera95_bugs',false,msg);mw.log.deprecate(win,'opera7_bugs',false,msg);mw.log.deprecate(win,'opera6_bugs',false,msg);mw.log.deprecate(win,'is_opera_95',false,msg);mw.log.deprecate(win,'is_opera_preseven',false,msg);mw.log.deprecate(win,'is_opera',false,msg);mw.log.deprecate(win,'ie6_bugs',false,msg);msg='Use jQuery instead.';mw.log.deprecate(win,'doneOnloadHook',undefined,msg);mw. log.deprecate(win,'onloadFuncts',[],msg);mw.log.deprecate(win,'runOnloadHook',$.noop,msg);mw.log.deprecate(win,'changeText',$.noop,msg);mw.log.deprecate(win,'killEvt',$.noop,msg);mw.log.deprecate(win,'addHandler',$.noop,msg);mw.log.deprecate(win,'hookEvent',$.noop,msg);mw.log.deprecate(win,'addClickHandler',$.noop,msg);mw.log.deprecate(win,'removeHandler',$.noop,msg);mw.log.deprecate(win,'getElementsByClassName',function(){return[];},msg);mw.log.deprecate(win,'getInnerText',function(){return'';},msg);mw.log.deprecate(win,'addOnloadHook',function(hookFunct){if(onloadFuncts){onloadFuncts.push(hookFunct);}else{hookFunct();}},msg);$(win).on('load',function(){var i,functs;if(!onloadFuncts){return;}functs=onloadFuncts.slice();onloadFuncts=undefined;for(i=0;i=parseInt(range_list[0],10))&&(result[0]=(eleWidth+1);},collapseCondition:function(){return calculateTabDistance()<0;}},addData:function($collapsible){var $settings=$collapsible.parent().data('collapsibleTabsSettings');if($settings){$collapsible.data('collapsibleTabsSettings',{expandedContainer:$settings.expandedContainer,collapsedContainer:$settings.collapsedContainer,expandedWidth:$collapsible.width(),prevElement:$collapsible.prev()});}},getSettings:function($collapsible){var $settings=$collapsible.data('collapsibleTabsSettings');if(!$settings){$.collapsibleTabs.addData($collapsible);$settings=$collapsible.data('collapsibleTabsSettings');}return $settings;},handleResize:function(){$.collapsibleTabs.instances.each(function(){var $el=$(this),data=$.collapsibleTabs.getSettings($el);if(data.shifting){return;}if($el.children(data.collapsible).length>0&&data.collapseCondition()){$el.trigger('beforeTabCollapse');$.collapsibleTabs. moveToCollapsed($el.children(data.collapsible+':last'));}if($(data.collapsedContainer+' '+data.collapsible).length>0&&data.expandCondition($.collapsibleTabs.getSettings($(data.collapsedContainer).children(data.collapsible+':first')).expandedWidth)){$el.trigger('beforeTabExpand');$.collapsibleTabs.moveToExpanded(data.collapsedContainer+' '+data.collapsible+':first');}});},moveToCollapsed:function(ele){var outerData,expContainerSettings,target,$moving=$(ele);outerData=$.collapsibleTabs.getSettings($moving);if(!outerData){return;}expContainerSettings=$.collapsibleTabs.getSettings($(outerData.expandedContainer));if(!expContainerSettings){return;}expContainerSettings.shifting=true;target=outerData.collapsedContainer;$moving.css('position','relative').css((rtl?'left':'right'),0).animate({width:'1px'},'normal',function(){var data,expContainerSettings;$(this).hide();$('').insertAfter(this);$(this).detach().prependTo(target).data( 'collapsibleTabsSettings',outerData);$(this).attr('style','display: list-item;');data=$.collapsibleTabs.getSettings($(ele));if(data){expContainerSettings=$.collapsibleTabs.getSettings($(data.expandedContainer));if(expContainerSettings){expContainerSettings.shifting=false;$.collapsibleTabs.handleResize();}}});},moveToExpanded:function(ele){var data,expContainerSettings,$target,expandedWidth,$moving=$(ele);data=$.collapsibleTabs.getSettings($moving);if(!data){return;}expContainerSettings=$.collapsibleTabs.getSettings($(data.expandedContainer));if(!expContainerSettings){return;}expContainerSettings.shifting=true;$target=$(data.expandedContainer).find('span.placeholder:first');expandedWidth=data.expandedWidth;$moving.css('position','relative').css((rtl?'right':'left'),0).css('width','1px');$target.replaceWith($moving.detach().css('width','1px').data('collapsibleTabsSettings',data).animate({width:expandedWidth+'px'},'normal',function(){$(this).attr('style','display: block;');var data, expContainerSettings;data=$.collapsibleTabs.getSettings($(this));if(data){expContainerSettings=$.collapsibleTabs.getSettings($(data.expandedContainer));if(expContainerSettings){expContainerSettings.shifting=false;$.collapsibleTabs.handleResize();}}}));}};}(jQuery));jQuery(function($){$('div.vectorMenu').each(function(){var $el=$(this);$el.find('> h3 > a').parent().attr('tabindex','0').on('click keypress',function(e){if(e.type==='click'||e.which===13){$el.toggleClass('menuForceShow');e.preventDefault();}}).focus(function(){$el.find('> a').addClass('vectorMenuFocus');}).blur(function(){$el.find('> a').removeClass('vectorMenuFocus');}).find('> a:first').attr('tabindex','-1');});var $cactions=$('#p-cactions');$('#p-views ul').bind('beforeTabCollapse',function(){if($cactions.hasClass('emptyPortlet')){$cactions.removeClass('emptyPortlet').find('h3').css('width','1px').animate({'width':'24px'},390);}}).bind('beforeTabExpand',function(){if($cactions.find('li').length===1){$cactions.find('h3'). animate({'width':'1px'},390,function(){$(this).attr('style','').parent().addClass('emptyPortlet');});}}).collapsibleTabs();});},{},{}); /* cache key: enwiki:resourceloader:filter:minify-js:7:b0641107769fc0041792f5639c9eed39 */